//print("debut lecture tes_conversation.js");
Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/NetUtil.jsm");
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");

//print("chargement fodler-conversation.js");
load('../../src/chrome/content/folderplus-conversation.js');

//print("bouchonnage");
folderplus.log = function (arg) {print(arg);};

//print("déclaration run_test");
function run_test() {
	// vérifie qu'on écarte bien les méssages dans le dossier courant
     var items = [{folderMessage :
					 { date : new Date("Aug 7, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test" }}
				  },
                {folderMessage :
					 { date : new Date("Aug 8, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test2" }}
				  }];
	var currentMessage = { date : new Date("Aug 9, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test2" } };
					   
	var result = folderplus.conv._findConversationFolder(items, currentMessage);
	
	do_check_eq(result, "mailbox://nobody@Local%20Folders/test");

	// vérifie qu'on écarte bien les messages plus recents que le courant
     items = [{folderMessage :
					 { date : new Date("Aug 7, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test1" }}
				  },
                {folderMessage :
					 { date : new Date("Aug 10, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test2" }}
				  }];
	currentMessage = { date : new Date("Aug 9, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test3" } };
					   
	result = folderplus.conv._findConversationFolder(items, currentMessage);
	
	do_check_eq(result, "mailbox://nobody@Local%20Folders/test1");

	// vérifie qu'on écarte la blacklist
     items = [{folderMessage :
					 { date : new Date("Aug 7, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test1" }}
				  },
                {folderMessage :
					 { date : new Date("Aug 8, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test2" }}
				  }];
	currentMessage = { date : new Date("Aug 9, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test3" } };
                            
     folderplus.conv._blackListURIs = ["mailbox://nobody@Local%20Folders/test2"];
					   
	result = folderplus.conv._findConversationFolder(items, currentMessage);
	
	do_check_eq(result, "mailbox://nobody@Local%20Folders/test1");

	// vérifie qu'on retourne null si aucun message trouvé
     items = [{folderMessage :
					 { date : new Date("Aug 7, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test1" }}
				  },
                {folderMessage :
					 { date : new Date("Aug 8, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test1" }}
				  }];
	currentMessage = { date : new Date("Aug 9, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test1" } };
                            
     result = folderplus.conv._findConversationFolder(items, currentMessage);
	
	do_check_null(result);

	// vérifie le bon fonctionnement au cas où une recherche gloda ne fonctionne pas bien.
     items = [{folderMessage : null},
              {folderMessage : 					 { date : new Date("Aug 8, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test1" }}
            }];
	currentMessage = { date : new Date("Aug 9, 1995"),
					   folder : { URI : "mailbox://nobody@Local%20Folders/test3" } };
                            
     result = folderplus.conv._findConversationFolder(items, currentMessage);
	
	do_check_eq(result,"mailbox://nobody@Local%20Folders/test1");
}

function run_test2() {
}
//print("fin lecture test_conversation.js");